Error Encountered
/home/AlphaHelp/helpfiles//HowTo/Internationalization/Localize a component.xml:1: parser error : Start tag expected, '<' not found - ^ unable to parse /home/AlphaHelp/helpfiles//HowTo/Internationalization/Localize a component.xml
00000 -<page>
00001     <shortlink>localize a component</shortlink>

00002     <topic>How to Localize a Component</topic>
00003     <description>There are several approaches available for localizing an application in Alpha Anywhere to support multiple languages.</description>
00004     <discussion>Alpha Anywhere includes several features to build applications in multiple languages. Applications can be translated on the server using language tags or on the client using JavaScript.</discussion>
00005     <sections>
00006         <section>
00007             <title>Language Tags</title>
00008             <description>
00009                 <p>Language Tags (<a5:r> and </a5:r>) are special HTML tags placed around text in an application to provide multiple languages. The text contained in the Language tags is replaced by Alpha Anywhere prior to downloading the component from the server.</p>
00010                 <p>
00011                     <example code="html"><![CDATA[<a5:r>First Name</a5:r>]]></example>
00012                 </p>
00013                 <p>The text within the language tags is the key value used to look up what text to insert. The translations are built using the Language definitions settings. You can add languages and define translations in the Language definitions settings. It includes tools for extracting language tag placeholders from the component, setting translation defaults, and creating new translations.</p>
00014             </description>
00015             <example code=""><![CDATA[First Name=FirstNameInDefault]]></example>
00016             <cases>
00017                 <case>
00018                     <title nested="2">Extracting Placeholders from a Component</title>
00019                     <description>
00020                         <p></p>
00021                     </description>
00022                 </case>
00023                 <case>
00024                     <title nested="2">Creating Default Translations</title>
00025                     <description>
00026                         <p></p>
00027                     </description>
00028                 </case>
00029                 <case>
00030                     <title nested="2">Adding a Language</title>
00031                     <description>
00032                         <p></p>
00033                     </description>
00034                 </case>
00035                 <case>
00036                     <title nested="2">Adding a Translation</title>
00037                     <description>
00038                         <p></p>
00039                     </description>
00040                 </case>
00041                 <case>
00042                     <title nested="2">Adding New Placeholders</title>
00043                     <description>
00044                         <p></p>
00045                     </description>
00046                 </case>
00047             </cases>
00048         </section>
00049         <section>
00050             <description>
00051                 <p>Define a new language and set the value to:</p>
00052             </description>
00053             <example code=""><![CDATA[First Name=FirstNameInFrench]]></example>
00054         </section>
00055         <section>
00056             <description>
00057                 <p>Active language defines what language to use. The value of Active language maps to the defined languages in the Language Definitions dialog.</p>
00058             </description>
00059         </section>
00060         <section>
00061             <description>
00062                 <p>The language definition is stored with the component. For applications that use multiple components, it is easier to define all translations in a single location, such as in a database. Text Dictionary Tags can be used instead of Language Tags to provide translations defined in a database.</p>
00063             </description>
00064         </section>
00065         <section>
00066             <title>Text Dictionary Tags</title>
00067             <description>
00068                 <p>The Text Dictionary is defined per project. Translations are stored in a database. The connection string defines where the translations are located. If no table exists, Alpha Anywhere will create the tables required to store Text Dictionary translations.</p>
00069             </description>
00070             <example code=""><![CDATA[<a5:t>Last Name</a5:t>]]></example>
00071         </section>
00072         <section>
00073             <title>Date Formats</title>
00074             <description>
00075                 <p>Date formats around the world vary. Though the variety of date formats is not nearly as numerous as the number of active written languages, you'll need to consider whether or not the default client-side date format .</p>
00076                 <p>Dates also may need __protected__clientSideDateFormat.</p>
00077             </description>
00078         </section>
00079         <section>
00080             <title>Setting the Text Direction</title>
00081             <description>
00082                 <p>Some languages, such as Arabic and Hebrew, are read right-to-left. The text alignment for controls - text controls, labels, etc - needs to be changed to align text on the right of the controls to support these languages. The direction for the entire application can be set with CSS using the following JavaScript:</p>
00083             </description>
00084             <example code="js"><![CDATA[if ({dialog.object}._activeLanguage == 'Hebrew') {
00085 document.body.style.direction='rtl';
00086 } else {
00087 document.body.style.direction='ltr';
00088 }]]></example>
00089         </section>
00090         <section>
00091             <description>
00092                 <p>This JavaScript can be placed in the UX Component's [onRenderComplete Event] to set the the text direction when the component is rendered.</p>
00093             </description>
00094         </section>
00095         <section>
00096             <description>
00097                 <p>Supports any HTML markup. Replacement value can be as long as you need.</p>
00098             </description>
00099         </section>
00100         <section>
00101             <title>Client-side JavaScript Translations</title>
00102             <description>
00103                 <p>For mobile applications, the Language and Text Dictionary tags may not work to localize an application due to the fact that they are resolved on the server. In an offline environment, the server is not available. Therefore, Language and Text Dictionary tags cannot be translated until the user has a connection and an Ajax Callback is made to translate the app.</p>
00104                 <p>In this situation, JavaScript can be used to provide offline localization. See [Multi-Language Support in a Cordova Mobile App] to learn how this is done.</p>
00105             </description>
00106         </section>
00107     </sections>
00108     <links>
00109         <link link="Multi Language Support in a PhoneGap Mobile App">Multi-Language Support in a Cordova Mobile App</link>
00110     </links>
00111     <terms>localize</terms>
00112 </page>